## Задания на итоговую работу


__Задание 1.__ Вам дан JSON-объект, являющийся списком.

Пройдитесь по его элементам, и со всеми элементами сделайте следующее:

* Если это строка, добавьте к конец строки восклицательный знак.
* Если это число, то увеличьте его на 1.
* Если это логическое значение, то инвертируйте его.
* Если это список, то удвойте его.
* Если это объект, то добавьте к нему новый атрибут с ключом "newkey" и пустым значением.
* Если это пустое значение, то удалите его из списка.

Выведите полученный JSON.


|   Ввод   | | Вывод    |
| :---: |---| :---: |
|   ["Hello", 179, 0.5, true, null, [1, 2, 3], {"key": "value"}]   |   |   ["Hello!", 180, 1.5, false, [1, 2, 3, 1, 2, 3], {"key": "value", "newkey": null}]   |




__Задание 2.__  Дан текстовый файл следующего содержимого [itog.txt](/itog.txt).

а) Вывести все слова, которые содержат 6 гласных букв

```
сертификацию
преподавателей
сертификация
технологиями
оптимизации
универсальными
сертификацию
преподавателей
преподавателем
квалификации
сертификации
```

б) сделать аналитику и вывести её в json-строку

```json
{
    "сертификацию": {
        "длина слова": 12,
        "уникальные буквы": "а,е,и,к,р,с,т,ф,ц,ю",
        "их количество": 10
    },
    "преподавателей": {
        "длина слова": 14,
        "уникальные буквы": "а,в,д,е,й,л,о,п,р,т",
        "их количество": 10
    },
    "🎓сертификация": {
        "длина слова": 13,
        "уникальные буквы": "а,е,и,к,р,с,т,ф,ц,я,🎓",
        "их количество": 11
    },
    "технологиями": {
        "длина слова": 12,
        "уникальные буквы": "г,е,и,л,м,н,о,т,х,я",
        "их количество": 10
    },
    "оптимизации": {
        "длина слова": 11,
        "уникальные буквы": "а,з,и,м,о,п,т,ц",
        "их количество": 8
    },
    "универсальными": {
        "длина слова": 14,
        "уникальные буквы": "а,в,е,и,л,м,н,р,с,у,ы,ь",
        "их количество": 12
    },
    "преподавателем": {
        "длина слова": 14,
        "уникальные буквы": "а,в,д,е,л,м,о,п,р,т",
        "их количество": 10
    },
    "квалификации": {
        "длина слова": 12,
        "уникальные буквы": "а,в,и,к,л,ф,ц",
        "их количество": 7
    },
    "сертификации": {
        "длина слова": 12,
        "уникальные буквы": "а,е,и,к,р,с,т,ф,ц",
        "их количество": 9
    }
}

```


__Задание 3.__ Напишите программу, которая получает от пользователя название файла с информацией на русском языке, и выполняет транслитерацию текста в соответствии с приведенным ниже словарем. 

Результат нужно записать в файл `result.txt`.

Словарь:

```python
translit = {'а': 'a', 'к': 'k', 'х': 'h', 'б': 'b', 'л': 'l', 'ц': 'c', 'в': 'v', 'м': 'm', 'ч': 'ch', 'г': 'g', 'н': 'n',
     'ш': 'sh', 'д': 'd', 'о': 'o', 'щ': 'shh', 'е': 'e', 'п': 'p', 'ъ': '*', 'ё': 'jo', 'р': 'r', 'ы': 'y', 'ж': 'zh',
     'с': 's', 'ь': "'", 'з': 'z', 'т': 't', 'э': 'je', 'и': 'i', 'у': 'u', 'ю': 'ju', 'й': 'j', 'ф': 'f', 'я': 'ya',
     'А': 'A', 'К': 'K', 'Х': 'H', 'Б': 'B', 'Л': 'L', 'Ц': 'C', 'В': 'V', 'М': 'M', 'Ч': 'Ch', 'Г': 'G', 'Н': 'N',
     'Ш': 'Sh', 'Д': 'D', 'О': 'O', 'Щ': 'Shh', 'Е': 'E', 'П': 'P', 'Ъ': '*', 'Ё': 'Jo', 'Р': 'R', 'Ы': 'Y', 'Ж': 'Zh',
     'С': 'S', 'Ь': "'", 'З': 'Z', 'Т': 'T', 'Э': 'Je', 'И': 'I', 'У': 'U', 'Ю': 'Ju', 'Й': 'J', 'Ф': 'F', 'Я': 'Ya'}
```

Пример русского текста:

```
Python – это язык программирования, который широко используется в интернет-приложениях, разработке программного обеспечения, науке о данных и машинном обучении (ML). Разработчики используют Python, потому что он эффективен, прост в изучении и работает на разных платформах.
```

Ожидаемое содержимое `result.txt`:

```
Python – jeto yazyk programmirovaniya, kotoryj shiroko ispol'zuetsya v internet-prilozheniyah, razrabotke programmnogo obespecheniya, nauke o dannyh i mashinnom obuchenii (ML). Razrabotchiki ispol'zujut Python, potomu chto on jeffektiven, prost v izuchenii i rabotaet na raznyh platformah.
```

__Задание 4.__ Программа статистического анализа  текстового файла.
Программист (синьор) Василий релоцировался в Среднюю Азию, забыв доделать проект лексического анализа текстовых файлов. Вот код его модуля.

```python
import os

def get_words(filename):
    ...
    return words


def get_words_dict(words):
    words_dict = dict()

    ...
    return words_dict

def main():
    filename = input("Введите путь к файлу: ")
    if not os.path.exists(filename):
        print("Указанный файл не существует")
    else:
        words = get_words(filename)
        words_dict = get_words_dict(words)
        print(f"Кол-во слов: {...}")
        print(f"Кол-во уникальных слов: {len(...)}")
        print("Все использованные слова:")



if __name__ == "__main__":
    main()


```

Попытайтесь понять его замысел.

Допишите необходимые строчки для обеспечения вывода статистики слов фрагмента произведения “Евгений Онегин” с консольным выводом в таком виде:
```
Введите путь к файлу: C:\SomeDir\Онегин.txt
Кол-во слов: 3547
Кол-во слов (без предлогов и союзов): 2588
Кол-во уникальных слов: 1988
Кол-во строк: 948
Кол-во знаков без пробелов: 17295

Частота встречаемости слов:
('как', 31),
 ('что', 24),
 ('его', 20),
 ('для', 18),
 ('был', 17),
 ('мой', 16),
 ('так', 15),
 ('там', 14),
 ('онегин', 12),
 ('мог', 11)

```


Исходник [onegin.txt](/onegin.txt)


